////node.js普通字符串编码解码:
var b = new Buffer('JavaScript');
var s = b.toString('base64');
console.log('base64---=' + s)
// SmF2YVNjcmlwdA==
   
   
var b = new Buffer('SmF2YVNjcmlwdA==', 'base64')
var s = b.toString();
console.log('string---=' + s)
// JavaScript


////编码解码并转成hex
//var b = new Buffer('SmF2YVNjcmlwdA==', 'base64')
//var s = b.toString('hex');
//// 4a617661536372697074
// 
// 
//var b = new Buffer('4a617661536372697074', 'hex')
//var s = b.toString('utf8');
//// JavaScript
//return
var fs = require('fs');
 
// function to encode file data to base64 encoded string
function base64_encode(file) {
  // read binary data
  var bitmap = fs.readFileSync(file);
  // convert binary data to base64 encoded string
  return new Buffer(bitmap).toString('base64');
}
 
// function to create file from base64 encoded string
function base64_decode(base64str, file) {
  // create buffer object from base64 encoded string, it is important to tell the constructor that the string is base64 encoded
  var bitmap = new Buffer(base64str, 'base64');
  // write buffer to file
  fs.writeFileSync(file, bitmap);
  console.log('******** File created from base64 encoded string ********');
}
 
// convert image to base64 encoded string
var base64str = base64_encode('2461.jpg');
//console.log(base64str);
fs.writeFile('base64.txt', base64str, function (err){
	 if (err) {
       return console.error(err);
   }
	 console.log("数据写入成功！");
})
// convert base64 string back to image 
base64_decode(base64str, 'copy.jpg');